SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vw_POFPaquetes2
AS
-- 27/03/08 FIORUCCI Agregue cuando busca las plazas vacantes el join con el servicio porque hay subservicios colgados y no mostraba algunas plazas
SELECT sa.idServicioAgente, sa.Horas, Sa.CargoSalarial, p.CUPOF, 
	ISNULL(P2.CUPOF, 'Sin Madre') PlazaMadre, 
	CASE WHEN P2.CUPOF IS NULL AND PP.TipoPaquete IS NOT NULL THEN TP.Mnemo 
		WHEN P2.CUPOF = P.CUPOF THEN TP.Mnemo
		WHEN P2.CUPOF IS NOT NULL THEN TP.Mnemo ELSE NULL  END TipoDePaquete, 
	p.NroSecuencia, sa.FechaAlta, 
	sa.FechaBaja, ssa.FechaAlta FAlta, ssa.FechaBaja FBaja, 
	o.Nombre Organizacion, 
	CASE WHEN P2.CUPOF IS NOT NULL AND P.CUISE <> P2.CUISE THEN '2' ELSE '1' END NroOrden, 
	So.Descripcion Suborganizacion,  So.idSuborganizacion, Ne.NivelEnsenanza,
	LS.Localidad LocalidadSubOrg,
	CASE WHEN p2.cupof IS NULL THEN p.cuise 
		WHEN p2.cupof IS NOT NULL THEN p2.cuise END CUISE, 
	a.Nombres Agente, a.Documento, 
	l.Descripcion Licencia, sr.Mnemo SR, sl.Mnemo SL, 
	se.Mnemo SE, AutoridadPOF, sa.EstaenProcesodeTitularizacion PT
FROM tb_Plazas p 
INNER JOIN tb_Organizaciones o ON idOrganizaciones = p.Organizacion 
INNER JOIN tb_Suborganizaciones so ON p.SubOrganizacion = so.IdSubOrganizacion 
INNER JOIN tb_Localidades LS ON LS.idLocalidad = SO.Localidad
INNER JOIN tb_Subserviciosagentes ssa ON ssa.plaza = p.IdPlaza 
INNER JOIN tb_Serviciosagentes sa ON sa.IdServicioagente = ssa.Servicioagente 
INNER JOIN tb_Agentes a ON a.IdAgente = sa.Agente 
INNER JOIN tb_NivelesEnsenanza NE ON Ne.idNivelEnsenanza = So.Nivel  -- Agregado Adriana 2010 para que agrupe en Reporte
LEFT OUTER JOIN tb_Licencias l ON l.IdLicencia = ssa.licencia 
INNER JOIN tb_SituacionRevista sr ON sr.IdSituacionRevista = sa.SituacionRevista 
INNER JOIN tb_SituacionesLaborales sl ON sl.IdSituacionLaboral = ssa.SituacionLaboral 
INNER JOIN tb_SituacionesExtraordinarias se ON se.IdSituacionExtraordinaria = ssa.SituacionExtraordinaria 
LEFT OUTER JOIN tb_PaquetesDePlazas PP ON PP.IdPaquete = P.Paquete 
LEFT OUTER JOIN tb_TiposDePaquete TP ON TP.IdTipoPaquete = PP.TipoPaquete 
LEFT OUTER JOIN tb_Plazas P2 ON p2.IdPlaza = PP.PlazaMadre 
WHERE P.IdPlaza NOT IN
        (SELECT PlazaMadre
	      FROM tb_PaquetesDePlazas
	      WHERE FechaBaja IS NULL AND Baja = 'S')
UNION
SELECT sa.idServicioAgente, sa.Horas, sa.CargoSalarial, p.CUPOF, 
    'Sin madre', TP.Mnemo TipoDePaquete, p.NroSecuencia, 
    sa.FechaAlta, sa.FechaBaja, ssa.FechaAlta FAlta, 
    ssa.FechaBaja FBaja, o.Nombre Organizacion, '1' NroOrden, 
    so.Descripcion subOrganizacion,  So.idSuborganizacion,  Ne.NivelEnsenanza,
Ls.Localidad LocalidadSubOrg, P.cuise CUISE, 
    a.Nombres Agente, a.Documento, l.Descripcion Licencia, 
    sr.Mnemo SR, sl.Mnemo SL, se.Mnemo SE, 
    AutoridadPOF, sa.EstaenProcesodeTitularizacion PT
FROM tb_Plazas p
INNER JOIN tb_Organizaciones o ON idOrganizaciones = p.Organizacion 
INNER JOIN tb_Suborganizaciones so ON so.Idsuborganizacion = p.Suborganizacion 
INNER JOIN tb_Localidades LS ON LS.idLocalidad = SO.Localidad
INNER JOIN tb_Subserviciosagentes ssa ON ssa.plaza = p.IdPlaza 
INNER JOIN tb_Serviciosagentes sa ON sa.IdServicioagente = ssa.Servicioagente 
INNER JOIN tb_Agentes a ON a.IdAgente = sa.Agente 
INNER JOIN tb_NivelesEnsenanza NE ON Ne.idNivelEnsenanza = So.Nivel  -- Agregado Adriana 2010 para que agrupe en Reporte
LEFT OUTER JOIN tb_Licencias l ON l.IdLicencia = ssa.licencia 
INNER JOIN tb_SituacionRevista sr ON sr.IdSituacionRevista = sa.SituacionRevista 
INNER JOIN tb_SituacionesLaborales sl ON sl.IdSituacionLaboral = ssa.SituacionLaboral 
INNER JOIN tb_SituacionesExtraordinarias se ON se.IdSituacionExtraordinaria = ssa.SituacionExtraordinaria 
LEFT OUTER JOIN tb_PaquetesDePlazas PP ON PP.IdPaquete = P.Paquete 
LEFT OUTER JOIN tb_TiposDePaquete TP ON TP.IdTipoPaquete = PP.TipoPaquete 
LEFT OUTER JOIN tb_Plazas P2 ON p2.IdPlaza = PP.PlazaMadre 
WHERE (p.paquete IS NULL OR
	    (p.paquete IS NOT NULL AND p.Cupof <> p2.Cupof))

UNION --AGREGADO nuevo

SELECT 0, p.Horas, p.CargoSalarialDefault, p.CUPOF, 
     'Sin Madre' PlazaMadre,  null, p.NroSecuencia,
 p.fechaalta, p.fechabaja,p.fechaalta falta, p.fechabaja fbaja, o.Nombre Organizacion, '0',
    so.Descripcion subOrganizacion,  So.idSuborganizacion, Ne.NivelEnsenanza,
 LS.Localidad LocalidadSubOrg,
    o.cuise  CUISE, 'Vacante'  Agente, 0, 
    '--' Licencia, '--' SR, '--'  SL, 
    '--' SE, AutoridadPOF,'N' PT
FROM tb_Plazas p 
INNER JOIN tb_Organizaciones o ON idOrganizaciones = p.Organizacion 
INNER JOIN tb_Suborganizaciones so ON p.SubOrganizacion = so.IdSubOrganizacion
INNER JOIN tb_NivelesEnsenanza NE ON Ne.idNivelEnsenanza = So.Nivel  -- Agregado Adriana 2010 para que agrupe en Reporte
INNER JOIN tb_Localidades LS ON LS.idLocalidad = SO.Localidad
WHERE (P.Baja = 'N') AND P.IdPlaza NOT IN
        (SELECT plaza  FROM TB_SUBSERVICIOSAGENTES SSA 										
	INNER JOIN tb_ServiciosAgentes SA On SA.idservicioAgente = SSA.ServicioAgente WHERE SSA.BAJA='N' )














GO
GRANT SELECT ON  [dbo].[vw_POFPaquetes2] TO [SoloVer]
GO
